package com.social.utils;


import com.social.pojo.dto.UserDTO;
/**
 * @className: UserHolder
 * @description: TODO 服务端存储用户id
 * @author: XiaoXu
 * @date: 2022/10/3
 **/
public class UserHolder {
    /**
        * 存储当前线程用户id等关键信息
    */
    private static final ThreadLocal<UserDTO> tl = new ThreadLocal<>();

    /**
        * @Author XiaoXu
        * @Date 2022/10/4
        * @Param User
        * @Return void
        * @Description 将当前访问id存入线程变量
     */
    public static void saveUser(UserDTO user){
        tl.set(user);
    }

    /**
        * @Author XiaoXu
        * @Date 2022/10/4
        * @Param null
        * @Return UserDTO
        * @Description 获取当前线程的用户关键信息
     */
    public static UserDTO getUser(){
        return tl.get();
    }

    /**
        * @Author XiaoXu
        * @Date 2022/10/4
        * @Param null
        * @Return void
        * @Description 移除当前线程的用户信息
     */
    public static void removeUser(){
        tl.remove();
    }
}
